home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / dev / misc / gms_e.lha / GMSDev / Source / E / Screens / OBJScreen.e < prev    next >
Text File  |  1997-09-15  |  1KB  |  53 lines

  1. /* Name:      Object Demo
  2. ** Author:    Paul Manias
  3. ** Copyright: DreamWorld Productions (c) 1996-1997.  Freely distributable.
  4. **
  5. ** Opens a screen according to the settings in an object file.  See
  6. ** asm/Objects/OBJScreen.s for the object definitions.
  7. */
  8.  
  9. MODULE 'dpkernel','gms/dpkernel','graphics/pictures','files/files'
  10. MODULE 'screens','system/register','system/modules','graphics/screens'
  11.  
  12. PROC main()
  13.   DEF screen=NIL:PTR TO screen, picture=NIL:PTR TO picture, objbase=NIL:LONG
  14.   DEF objfile:filename, scrmodule=NIL:PTR TO module
  15.  
  16.   objfile := [ ID_FILENAME, 'GMS:demos/data/OBJ.Screen']:filename
  17.  
  18.   IF dpkbase := OpenLibrary('GMS:libs/dpkernel.library',0)
  19.    SetUserPrefs(0);
  20.  
  21.    IF (scrmodule := Init([TAGS_MODULE,NIL,
  22.        MODA_NUMBER,    MOD_SCREENS,
  23.        MODA_TABLETYPE, JMP_AMIGAE,
  24.        TAGEND], NIL))
  25.  
  26.     scrbase := scrmodule.modbase
  27.  
  28.     IF (objbase := Load(objfile,ID_OBJECTBASE))
  29.      IF (picture := GetFileObject(objbase,'Picture'))
  30.        IF (Init(picture,NIL))
  31.         IF (screen := Get(ID_SCREEN))
  32.           CopyStructure(picture,screen)
  33.           screen.memptr1 := picture.data
  34.           screen.attrib  := CENTRE
  35.  
  36.           IF (Init(screen,NIL))
  37.              Display(screen)
  38.              WaitLMB()
  39.              Free(screen)
  40.           ENDIF
  41.        ENDIF
  42.       ENDIF
  43.      ENDIF
  44.     ENDIF
  45.    ENDIF
  46.   Free(picture)
  47.   Free(objbase)
  48.   Free(scrmodule)
  49.   CloseDPK()
  50.   ENDIF
  51. ENDPROC
  52.  
  53.